package br.com.iswe.gwt.ui.client.service;

import java.util.List;

import br.com.iswe.core.entidades.gwt.RemoteEntityObject;
import br.com.iswe.gwt.ui.client.RequestInfo;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface MethodServiceAsync<R extends RemoteEntityObject, P extends RemoteEntityObject> {

	void executeMethod(String controllerName, String methodName, P parameter, RequestInfo requestInfo, AsyncCallback<R> callback);
	
	void executeMethod(String controllerName, String methodName, List<P> parameterList, RequestInfo requestInfo, AsyncCallback<R> callback);
	
	
	void executeMethodAsList(String controllerName, String methodName, P parameter, RequestInfo requestInfo, AsyncCallback<List<R>> callback);
	
	void executeMethodAsList(String controllerName, String methodName, List<P> parameterList, RequestInfo requestInfo, AsyncCallback<List<R>> callback);
}
